package org.agent.aigccore.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.agent.aigccore.basic.enums.IotDeviceIoStatusEnum;
import org.agent.aigccore.basic.enums.IotDeviceStatusEnum;
import org.agent.aigccore.basic.enums.IotDeviceWorkStatusEnum;

/**
 * IoT设备数据传输对象
 */
@Setter
@Getter
@Schema(description = "IoT设备数据传输对象")
public class IotDeviceVO {

    /**
     * 设备code（ip+端口组成的序列）
     */
    @Schema(description = "设备code（ip+端口组成的序列）")
    private String deviceCode;

    /**
     * 设备名称
     */
    @Schema(description = "设备名称")
    private String deviceName;

    /**
     * 设备状态
     */
    @Schema(description = "设备状态")
    private IotDeviceStatusEnum deviceStatus;

    /**
     * 工作状态
     */
    @Schema(description = "工作状态")
    private IotDeviceWorkStatusEnum workStatus;

    /**
     * IO状态
     */
    @Schema(description = "IO状态")
    private IotDeviceIoStatusEnum ioStatus;

    /**
     * 设备点位
     */
    @Schema(description = "设备点位")
    private String devicePosition;

    /**
     * 支持的机器人类型
     */
    @Schema(description = "支持的机器人类型")
    private String robotScope;

    /**
     * 关联业务组
     */
    @Schema(description = "关联业务组")
    private String businessGroup;

    /**
     * 关联业务任务单号
     */
    @Schema(description = "关联业务任务单号")
    private String businessTaskNo;

    /**
     * 设备IP
     */
    @Schema(description = "设备IP")
    private String deviceIp;

    /**
     * 设备端口
     */
    @Schema(description = "设备端口")
    private String devicePort;

    /**
     * 项目ID
     */
    @Schema(description = "项目ID")
    private String projectId;
}